/**
 * Copyright (c) 2015 Lenovo Group
 * All Rights Reserved.
 * 
 * Project Name:lmrp-api
 * Create Time: 2016年01月25日 上午10:28:39
 */
package com.lenovo.lmrp.api.model.entity;

import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

import com.lenovo.sdc.framework.util.IntegerValuedEnum;

/**
 * 
 * @author wujin
 * @version v1.0
 */
@Entity
@Table(name = "itsm_engineer")
public class EngineerPO {
    public static enum EngineerStatus implements IntegerValuedEnum {
        //0 - 可接单, 1-不可接单-系统示忙, 2-不可接单-忙碌 3-不可接单-休假, 4-不可接单-病假 ,5-不可接单-培训 6-离岗
        IDEL, HOLDON, BUSY, VOCATION, SICKLEAVE, TRAINING, QUIT;

        @Override
        public int getCode() {
            return ordinal();
        }
    }
    
    @Id
    @Column
    private String id;

    @Column
    private String spId;

    @Column
    private String loginName;

    @Column
    private String fullName;

    @Column
    private String phone;

    @Column
    private String email;

    @Column
    private String weChat;

    @Column
    private String qqNum;

    @Column
    private String province;

    @Column
    private String city;

    @Column
    private String county;

    @Column
    private String district;

    @Column
    @Enumerated(EnumType.ORDINAL)
    private EngineerStatus status = EngineerStatus.IDEL;

    @Transient
    private List<EngineerTerminalPO> terminals;

    @Transient
    private EngineerExtensePO others;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getSpId() {
        return spId;
    }

    public void setSpId(String spId) {
        this.spId = spId;
    }

    public String getLoginName() {
        return loginName;
    }

    public void setLoginName(String loginName) {
        this.loginName = loginName;
    }

    public String getFullName() {
        return fullName;
    }

    public void setFullName(String fullName) {
        this.fullName = fullName;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getWeChat() {
        return weChat;
    }

    public void setWeChat(String weChat) {
        this.weChat = weChat;
    }

    public String getQqNum() {
        return qqNum;
    }

    public void setQqNum(String qqNum) {
        this.qqNum = qqNum;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCounty() {
        return county;
    }

    public void setCounty(String county) {
        this.county = county;
    }

    public String getDistrict() {
        return district;
    }

    public void setDistrict(String district) {
        this.district = district;
    }

    public EngineerStatus getStatus() {
		return status;
	}

	public void setStatus(EngineerStatus status) {
		this.status = status;
	}

	public List<EngineerTerminalPO> getTerminals() {
        return terminals;
    }

    public void setTerminals(List<EngineerTerminalPO> terminals) {
        this.terminals = terminals;
    }

    public EngineerExtensePO getOthers() {
        return others;
    }

    public void setOthers(EngineerExtensePO others) {
        this.others = others;
    }

}
